package com.ruoyi.edh.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 *
 *
 * @description:订单详情vo
 * @author: 梁东宸
 * @time: 2020/9/5 4:04 下午
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("易订购-订单详情")
public class EdhDetailsOrderVo {
    private static final long serialVersionUID = 1L;


    /** uuid */
    @ApiModelProperty("id")
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("主订单id")
    private Long masterOrderId;
    /** 商品id */
    @Excel(name = "商品id")
    @ApiModelProperty("商品id")
    private String goodsId;
    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty("商品名称")
    private String goodsName;
    /** 商品名称 */
    @Excel(name = "商品图片")
    @ApiModelProperty("商品图片")
    private String goodsImage;
    /** 商品名称 */
    @Excel(name = "商品供应商名称")
    @ApiModelProperty("商品供应商名称")
    private String goodsSupplierName;

    /** 商品id */
    @Excel(name = "商品规格")
    @ApiModelProperty("商品规格")
    private String goodsSpecifications;
    /** 商品单价 */
    @Excel(name = "商品单价")
    @ApiModelProperty("商品单价")
    private BigDecimal goodsPrice;

    /** 商品数量 */
    @Excel(name = "商品数量")
    @ApiModelProperty("商品数量")
    private Long goodsNumber;


    /** 订单金额 只对于当前子订单的订单金额 */
    @Excel(name = "订单金额 只对于当前子订单的订单金额")
    @ApiModelProperty("订单金额 只对于当前子订单的订单金额")
    private BigDecimal orderAmount;


    /** 实收金额 只针对于当前子订单实收金额 */
    @Excel(name = "实收金额 只针对于当前子订单实收金额")
    @ApiModelProperty("实收金额 只针对于当前子订单实收金额")
    private BigDecimal actualAmount;


    /** 支付方式 */
    @Excel(name = "支付方式")
    @ApiModelProperty("支付方式")
    private String paymentMethod;


    /** 支付类型 0支付宝/1微信支付/2余额支付 */
    @Excel(name = "支付类型 0支付宝/1微信支付/2余额支付")
    @ApiModelProperty("支付类型 0支付宝/1微信支付/2余额支付")
    private String paymentType;


    /** 支付状态 0未支付/1已支付 */
    @Excel(name = "支付状态 0未支付/1已支付")
    @ApiModelProperty("支付状态 0未支付/1已支付")
    private String paymentStatus;


    /** 运费金额 */
    @Excel(name = "运费金额")
    @ApiModelProperty("运费金额")
    private BigDecimal shipping;


    /** 订单状态 0正常/1已付款/2待收货/3已完成/4已取消/5退款退货 */
    @Excel(name = "订单状态 0带付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    @ApiModelProperty("订单状态 0待付款/1已付款/2待收货/3已完成/4已取消/5退款退货")
    private String orderStatus;

    /** 售后状态 0处理中/1已处理/2已取消*/
    @Excel(name = "售后状态 0处理中/1已处理/2已取消")
    @ApiModelProperty("售后状态 0处理中/1已处理/2已取消")
    private String returnStatus;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("付款时间")
    private Date paymentTime;


    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("发货时间")
    private Date shipTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("创建时间")
    private Date createTime;
    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("收货时间")
    private Date receiptTime;



    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("取消时间")
    private Date cancelTime;

    /** 售后申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "售后申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("售后申请时间")
    private Date returnTime;



    /** 售后处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    @Excel(name = "售后处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("售后处理时间")
    private Date auditTime;


    /** 用户id */
    @Excel(name = "用户id")
    @ApiModelProperty("用户id")
    private String userId;

    /**收货地址 */
    @Excel(name = "收货地址手机号")
    @ApiModelProperty("收货地址手机号")
    private Long addressPhone;
    /**收货人姓名*/
    @Excel(name = "收货人姓名")
    @ApiModelProperty("收货人姓名")
    private String addressUsername;
    /**收货人地址*/
    @Excel(name = "收货人地址")
    @ApiModelProperty("收货人地址")
    private String addressDetails;
    /** 订单金额 */
    @Excel(name = "订单金额")
    @ApiModelProperty("订单金额")
    private BigDecimal totalOrderAmount;

    /** 实付金额 */
    @Excel(name = "实付金额")
    @ApiModelProperty("实付金额")
    private BigDecimal totalActualAmount;
    /**优惠金额*/
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private String couponAmount;

    private String supplierUsername;
}
